import axios from "axios";
import { VueAxios } from "./axios.js";

// axios 实例
const axiosService = axios.create({
	// baseURL
	baseURL: "",
	// timeout 60S=1min
	timeout: 6 * 10 * 1000
});
/**
 * axios 错误处理方法
 * @param error HTTP错误信息
 */
const errorHandler = function(error) {
	if (error.response) {
		// todo mark
	}
	// todo return
};

/**
 * 请求过滤器，在axios发送请求之前会统一的走到过滤器
 * @param config HTTP配置信息
 */
const requestFilter = function(config) {
	return config;
};
/**
 * 响应过滤器，在axios接收到网络请求之后，会统一的走到此处做处理
 * @param config
 */
const responseFilter = function(response) {
	console.log(response);
	return response;
};
// 增加请求过滤器和响应过滤器
axiosService.interceptors.request.use(requestFilter);
axiosService.interceptors.response.use(responseFilter);

const installer = {
	vm: {},
	install: function(Vue, instance) {
		// 一起注册axios同时挂载Vue.properties
		Vue.use(VueAxios, axiosService);
	}
};

export { installer as VueAxios, axiosService as axios };
